// 文件路径: src/api/admin.js

import request from '@/utils/request';

// 一个辅助函数，把普通对象转成 URLSearchParams，方便你的 request.getParameter()
const toFormData = (obj) => {
    const params = new URLSearchParams();
    for (const key in obj) {
        // 只有值不是 undefined 或 null 的时候才添加到表单数据里
        if (obj[key] !== undefined && obj[key] !== null && obj[key] !== '') {
            params.append(key, obj[key]);
        }
    }
    return params;
};

// ================== 用户管理 API ==================

/**
 * 搜索用户
 * GET /api/admin/user/search.do
 */
export const searchUsers = (params) => {
    return request({
        url: '/api/admin/user/search.do',
        method: 'GET',
        params // GET请求，axios会把 {id: 1} 转成 ?id=1
    });
};

/**
 * 更新用户基本信息 (对应你写的 updateUserInfo.do！)
 * POST /api/admin/user/updateInfo.do
 * @param {object} data - { userId, username, newPassword, email, phone, address, description }
 */
export const updateUserInfo = (data) => {
    return request({
        url: '/api/admin/user/updateInfo.do',
        method: 'POST',
        data: toFormData(data)
    });
};

/**
 * 为用户充值
 * POST /api/admin/payment/recharge.do
 */
export const rechargeForUser = (data) => {
    return request({
        url: '/api/admin/payment/recharge.do',
        method: 'POST',
        data: toFormData(data) // { targetUserId, amount }
    });
};

// ================== 评论管理 API (先放着备用) ==================

/**
 * 驳回/打回评论
 * POST /api/admin/review/reject.do
 */
export const rejectReview = (reviewId) => {
    return request({
        url: '/api/admin/review/reject.do',
        method: 'POST',
        data: toFormData({ reviewId })
    });
};